[tool.poetry]
name = "user-service"
version = "0.1.0"
description = "User service for listen-time"
authors = ["Kharlamov Egor <kharlamovegormain@mail.ru>"]
license = "no"
readme = "README.md"
repository = "https://notabug.org/nnmore/user-service.git"
classifiers = [
    "Intended Audience :: Developers",
    "Natural Language :: English",
    "Programming Language :: Python :: 3",
    "Programming Language :: Python :: 3.8",
    "Programming Language :: Python :: 3.9",
    "Programming Language :: Python :: 3.10",
    "Programming Language :: Python :: 3.11",
]

[tool.poetry.dependencies]
python = "^3.8"
fastapi = "~0.98.0"
uvicorn = {extras = ["standard"], version = "~0.22.0"}
gunicorn = "~20.1.0"
click = "~8.1.3"

[tool.poetry.group.dev.dependencies]
pytest = "~7.4.0"
pytest-cov = "~4.0.0"
pytest-asyncio = "~0.21.0"
requests = "~2.28.2"
httpx = "~0.23.3"
mypy = "~1.4.1"
flake8 = "~5.0.4"
flake8-docstrings = "~1.7.0"
flake8-import-order = "~0.18.1"
flake8-todo = "^0.7"
black = "~23.3.0"
Sphinx = "~5.3.0"
Pallets-Sphinx-Themes = "~2.0.2"
myst-parser = "~1.0.0"
fastapi-mvc = "^0.26.0"

[tool.poetry.scripts]
user-service = 'user_service.cli:cli'

[tool.poetry.urls]
"Issues" = "/issues"

[build-system]
requires = ["poetry-core>=1.0.0"]
build-backend = "poetry.core.masonry.api"

[tool.coverage.run]
omit = [
    "user_service/config/gunicorn.py",
    "user_service/__main__.py",
]

[tool.coverage.report]
exclude_lines = [
    "pass",
]

[tool.mypy]
exclude = [
    "config/gunicorn.py"
]
plugins = "pydantic.mypy"
python_version = '3.10'
show_error_codes = true
follow_imports = 'silent'
strict_optional = true
warn_redundant_casts = true
warn_unused_ignores = true
disallow_any_generics = true
check_untyped_defs = true
no_implicit_reexport = true
warn_unused_configs = true
disallow_subclassing_any = true
disallow_incomplete_defs = true
disallow_untyped_decorators = true
disallow_untyped_calls = true
disallow_untyped_defs = true
implicit_optional = true

[[tool.mypy.overrides]]
module = [
    "gunicorn.*",
    "redis.*",
]
ignore_missing_imports = true
